Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: openid4vc and sd-jwt-vc support #1708

Merged

Conversation

TimoGlastra
Copy link
Contributor

Supersedes #1667, as there were issues with DCO sign-off

It works e2e with openid4vc issuance, and verification with SD-JWT-VC, BUTT there's still some todos, but If possible I'd like to do it in follow up PRs as this one is already huge.

Some of the todos:

  • add events so you can hook into the state changes of offers/requests
  • Update some FIXMEs once PRs have been merged into PEX/OID4VC/SD-JWT libraries (it's currently all working, but sometimes a bit hacky)
  • add support for request_uri as the QR for presentation requests can get quite large at the moment
  • Add improvements to the API so it's known as a holder which field will be selectively disclosed (you now just get the record)
  • Issue that awesome-qr MUST be installed on react native
  • support jwk thumbprint in Sphereon siop/oid4vp libs (currently only dids are supported for proving, opened Best way to support JWK thumbprint as subject_syntax_type? Sphereon-Opensource/OID4VC#154, but this requires some substantial work)
  • Allow presenting multiple SD-JWT vcs in a single request. My first option was to go for creating multiple VPs for a single presentation definitoin and submission, but this is not supported by PEX/OID4VP libraries from Sphereon (See Sending multiple VPs with a single presentation definition Sphereon-Opensource/SIOP-OID4VP#62). It does support multiple Presentation definitions, so maybe that's the way to go (although I'd like using one PD more)
  • Replace the in-memory session with something persistent

Here's a list of PRs that if released will allow for some cleanup on our side (but we can do that after this PR is merged):

Co-authored-by: Martin Auer (2mau) <martin.auer97@gmail.com>
Signed-off-by: Timo Glastra <timo@animo.id>
Signed-off-by: Timo Glastra <timo@animo.id>
Signed-off-by: Timo Glastra <timo@animo.id>
Copy link
Contributor

@berendsliedrecht berendsliedrecht left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really great work @TimoGlastra and @2mau !!!

There are indeed quite some FIXME's, TODO's and NOTE's in there but I am perfectly fine with fixing them in other PRs as this PR already made my browser lag a whole bunch ;).

I think it would be good if another person went over it as with such a big PR, you tend to miss some details in some places.

TimoGlastra and others added 3 commits January 29, 2024 12:47
…ationExchangeService.ts

Co-authored-by: Berend Sliedrecht <61358536+berendsliedrecht@users.noreply.github.com>
Signed-off-by: Timo Glastra <timo@animo.id>
Co-authored-by: Berend Sliedrecht <61358536+berendsliedrecht@users.noreply.github.com>
Signed-off-by: Timo Glastra <timo@animo.id>
Signed-off-by: Timo Glastra <timo@animo.id>
Signed-off-by: Timo Glastra <timo@animo.id>
Signed-off-by: Timo Glastra <timo@animo.id>
Signed-off-by: Timo Glastra <timo@animo.id>
Signed-off-by: Timo Glastra <timo@animo.id>
@TimoGlastra TimoGlastra enabled auto-merge (squash) February 1, 2024 13:04
Signed-off-by: Timo Glastra <timo@animo.id>
Signed-off-by: Timo Glastra <timo@animo.id>
@TimoGlastra TimoGlastra merged commit 8cc499d into openwallet-foundation:main Feb 1, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants